Computer systems are becoming increasingly pervasive in our society, including everything from small handheld electronic devices, such as personal data assistants and cellular phones, to application-specific electronic devices, such as set-top boxes, digital cameras, and other consumer electronics, to medium-sized mobile systems such as notebook, sub-notebook, and tablet computers, to desktop systems, workstations, and servers.
As used herein, the term “when” may be used to indicate the temporal nature of an event. For example, the phrase “event ‘A’ occurs when event ‘B’ occurs” is to be interpreted to mean that event A may occur before, during, or after the occurrence of event B, but is nonetheless associated with the occurrence of event B. For example, event A occurs when event B occurs if event A occurs in response to the occurrence of event B or in response to a signal indicating that event B has occurred, is occurring, or will occur.
Typically, a user interacts with a computer system using a combination of a keyboard and a mouse. In a two-button mouse, user interface functions include mouse movement, left button down, left button up, right button down and right button up. With each mouse movement, current X-Y coordinates of a corresponding mouse cursor are reported.
A mouse click is defined as a sequence of button down event followed by button up event. Moving the mouse (or an associated cursor) without either button being activated is sometimes referred to as hover. Hover is an important user interface capability for many applications where passing the mouse cursor over an object (e.g., an icon) may cause additional information (hovering information) to be displayed, for example, in a pop up window.
When using computer systems such as web tablets, personal digital assistants (PDA's), etc., users rely on a touch screen and a stylus instead of a mouse to interact with the devices. This is because the mobile usage requirements and device form factors (e.g., small display screen, etc.) of these computer systems do not conveniently allow for the use of the mouse.
Since the stylus typically has only a single event capability when it makes contact with the screen, the stylus is dedicated to performing key actions such as selection of a link, execution of a control, etc. When the stylus comes into contact with the touch screen, the contact is interpreted as a left button down at the corresponding touch screen coordinates. Lifting the stylus generates a left button up event. Thus, as defined above, the combination of stylus down followed by stylus up is interpreted as a left click.
In many instances, however, the stylus is used to interface with applications originally designed for use with a mouse. As such, using a stylus that only signals left click events limits functionalities of these applications. In this sense, the mouse offers advantages over the stylus. For example, the mouse cursor can be moved without committing to an action and still is able to provide the user information through the hover capability.
The ability for a stylus to achieve all of the functions of a mouse (e.g., both left and right button up and down events, etc.) has been a subject of many research efforts. There are sophisticated and significantly expensive touch screen systems available on the market today using styluses that include electronics or styluses that generate electrical signals. Such systems are often expensive to implement.